#ifndef ENUMS_H_
#define ENUMS_H_

namespace Core
{
	enum ChColor
	{
		ChWhite = 1,
		ChBlack = 2
	};

	/*
	* this is a bitwise enum (i.e: bitwise operators like &, |, ~, ^ are applicable to it)
	*/
	enum ChAction
	{
		ChActionNone = 0,
		ChEat = 1,
		ChEnpassant = 2,
		ChPromotion = 4,
		ChCastling = 8,
	};

	enum class ChStatus
	{
		ChStatusNone,
		ChBlackIsChecked,
		ChWhiteIsChecked,
		ChBlackIsCheckmate,
		ChWhiteIsCheckmate,
		ChDraw,
	};

	enum ChType
	{
		ChKing = 1,
		ChQueen = 2,
		ChBishop = 3,
		ChKnight = 4,
		ChRook = 5,
		ChPawn = 6
	};
}

#endif
